   1              		.syntax unified
   2              		.cpu cortex-m3
   3              		.fpu softvfp
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 4
  11              		.eabi_attribute 34, 1
  12              		.eabi_attribute 18, 4
  13              		.thumb
  14              		.syntax unified
  15              		.file	"startup.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text._start,"ax",%progbits
  20              		.align	1
  21              		.global	_start
  22              		.thumb
  23              		.thumb_func
  25              	_start:
  26              	.LFB0:
  27              		.file 1 "uc_libc_dev/_arch/arm_lpc/common/startup/startup.c"
   1:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #include "_config_cpu_.h"
   2:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #include "vic.h"
   3:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
   4:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #if (STARTUP_USE_DEBUG == pdON)
   5:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #include "stdio_uc.h"
   6:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #endif
   7:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
   8:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #if defined(RUN_MODE1) || defined(RUN_MODE2) || defined (RUN_MODEBOOT1) || defined (RUN_MODEBOOT2)
   9:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** //extern u32 _stack;		// Endereço inicial da RAM para as STACKS. Topo da RAM
  10:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern u32 _etext;		// Endereço final da memória de programa. Contendo as secções .text(código exec
  11:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern u32 _data;		// Endereço inicial da área de RAM da secção .data (variáveis inicializadas)
  12:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern u32 _edata;		// Endereço final da área de RAM da secção .data
  13:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #endif
  14:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern u32 _bss;		// Endereço inicial da área de RAM da secção .bss (variáveis não inicializadas)
  15:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern u32 _ebss;		// Endereço final da área de RAM da secção .bss
  16:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  17:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern int main (void);
  18:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern void arm_Init (void);
  19:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #if defined(RUN_MODEBOOT2) || (RUN_MODEBOOT1)
  20:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** extern void boot_Check(void);
  21:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #endif
  22:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  23:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #if defined(USE_EXT_SRAM) || defined(USE_EXT_SDRAM)
  24:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** void ramext_Init (void);
  25:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** #endif
  26:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  27:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  28:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** // ESTA FUNÇÃO É CHAMADA PELO VETOR DE INTERRUPÇÃO RESET
  29:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** void _start (void);
  30:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** void _start (void) {
  28              		.loc 1 30 0
  29              		.cfi_startproc
  30              		@ args = 0, pretend = 0, frame = 0
  31              		@ frame_needed = 0, uses_anonymous_args = 0
  32 0000 08B5     		push	{r3, lr}
  33              	.LCFI0:
  34              		.cfi_def_cfa_offset 8
  35              		.cfi_offset 3, -8
  36              		.cfi_offset 14, -4
  31:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// DESABILITA TODAS AS INTERRUPÇÕES
  32:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	irq_Disable();
  37              		.loc 1 32 0
  38              		.syntax unified
  39              	@ 32 "uc_libc_dev/_arch/arm_lpc/common/startup/startup.c" 1
  40 0002 72B6     		cpsid i
  41              	@ 0 "" 2
  33:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  34:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  35:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// SE ESTAMOS USANDO O BOOTLOADER É PRECISO CHAMAR A ROTINA DE VERIFICAÇÃO
  36:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	//	Se é para é para executar o aplicativo do usuário ou não.
  37:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	//   pois, o aplicativo do usuário deve ser executado com todos os registradores do padrão do rese
  38:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  39:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	#if defined(RUN_MODEBOOT2) || (RUN_MODEBOOT1)
  40:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	boot_Check();
  41:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	#endif
  42:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  43:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// CONFIGURA PROCESSADOR ARM
  44:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// 	As configurações do arm deve ser feita antes, isto porque em algumas configurações abaixo
  45:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	//	 necessitam de delays para inicializações baseadas na frequencia do processador
  46:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  47:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	arm_Init();
  42              		.loc 1 47 0
  43              		.thumb
  44              		.syntax unified
  45 0004 FFF7FEFF 		bl	arm_Init
  46              	.LVL0:
  47 0008 0A4A     		ldr	r2, .L10
  48 000a 0B4B     		ldr	r3, .L10+4
  48:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  49:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  50:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// CONFIGURA A RAM EXTERNA SE FOR USADA
  51:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// 	As configurações das rams externas deve ser feitas antes de atualizar as secções .data e .bss,
  52:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	//	 isto porque podemos alocar essas secções na ram externa
  53:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  54:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	#if defined(USE_EXT_SRAM) || defined(USE_EXT_SDRAM)
  55:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	ramext_Init();
  56:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	#endif
  57:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  58:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  59:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// AJUSTANDO OS STACKS DE CADA MODO DE OPERAÇÃO DO PROCESSADOR ARM
  60:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  61:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  62:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	u32 *pSrc;
  63:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	u32 *pDest;
  64:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  65:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  66:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// ATRIBUI OS VALORES INICIAIS DAS VARIÁVEIS DA SECÇÃO .data
  67:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  68:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	#if defined(RUN_MODE1) || defined(RUN_MODE2) || defined (RUN_MODEBOOT1) || defined (RUN_MODEBOOT2)
  69:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	pSrc  = &_etext; 		// Captura o endereço final da secção .text e .rodata. Onde contém os valores d
  70:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	pDest = &_data;			// Captura o endereço inicial da área de RAM da secção .data (variáveis iniciali
  71:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	while(pDest < &_edata)	// Faça até o endereço final da área de RAM da secção .data
  49              		.loc 1 71 0
  50 000c 0B49     		ldr	r1, .L10+8
  51              	.LVL1:
  52              	.L2:
  53 000e 8B42     		cmp	r3, r1
  54 0010 04D2     		bcs	.L8
  55              	.LVL2:
  72:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 		*pDest++ = *pSrc++;
  56              		.loc 1 72 0
  57 0012 52F8040F 		ldr	r0, [r2, #4]!
  58 0016 43F8040B 		str	r0, [r3], #4
  59              	.LVL3:
  60 001a F8E7     		b	.L2
  61              	.L8:
  62 001c 084B     		ldr	r3, .L10+12
  63              	.LVL4:
  73:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	#endif
  74:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  75:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  76:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// LIMPA A ÁREA DE RAM DAS VARIÁVEIS NÃO INICIALIZADAS
  77:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  78:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	pDest = &_bss; 			// Captura o endereço inicial da área de RAM da secção .bss (variáveis não inici
  79:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	while(pDest < &_ebss)	// Faça até o endereço final da área de RAM da secção .bss
  64              		.loc 1 79 0
  65 001e 094A     		ldr	r2, .L10+16
  80:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 		*pDest++ = 0;		// Limpa o endereço de memória
  66              		.loc 1 80 0
  67 0020 0021     		movs	r1, #0
  68              	.L4:
  69              	.LVL5:
  79:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 		*pDest++ = 0;		// Limpa o endereço de memória
  70              		.loc 1 79 0
  71 0022 9342     		cmp	r3, r2
  72 0024 02D2     		bcs	.L9
  73              		.loc 1 80 0
  74 0026 43F8041B 		str	r1, [r3], #4
  75              	.LVL6:
  76 002a FAE7     		b	.L4
  77              	.LVL7:
  78              	.L9:
  81:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  82:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 
  83:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  84:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// CHAMA O PROGRAMA MAIN SEM PASSAGEM DE PARAMETROS
  85:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	// -----------------------------------------------------------------------------------------------
  86:uc_libc_dev/_arch/arm_lpc/common/startup/startup.c **** 	main();
  79              		.loc 1 86 0
  80 002c FFF7FEFF 		bl	main
  81              	.LVL8:
  82              	.L6:
  83 0030 FEE7     		b	.L6
  84              	.L11:
  85 0032 00BF     		.align	2
  86              	.L10:
  87 0034 FCFFFFFF 		.word	_etext-4
  88 0038 00000000 		.word	_data
  89 003c 00000000 		.word	_edata
  90 0040 00000000 		.word	_bss
  91 0044 00000000 		.word	_ebss
  92              		.cfi_endproc
  93              	.LFE0:
  95              		.text
  96              	.Letext0:
  97              		.file 2 "uc_libc_dev/_libdef/uc_libdefs.h"
DEFINED SYMBOLS
                            *ABS*:00000000 startup.c
D:\_temp\_windows\cc0U5USc.s:20     .text._start:00000000 $t
D:\_temp\_windows\cc0U5USc.s:25     .text._start:00000000 _start
D:\_temp\_windows\cc0U5USc.s:87     .text._start:00000034 $d
                     .debug_frame:00000010 $d

UNDEFINED SYMBOLS
arm_Init
main
_etext
_data
_edata
_bss
_ebss
